In the network, all the participating nodes agree to the rules, and the

distributed ledger works on these pre-defined rules, which include a how-to

for governing and validating transactions, an algorithm that defines the

mechanism for all participating nodes to interact with each other, and an

Application Programming Interface.

The common communication rules that the network plays by are referred to

as a protocol, which governs a blockchain network: it is accounts and not

U TXOs, Merkle Patricia Trees, Recursive Length Prefix, Compression

algorithm, Trie U sage, U ncle incentivization, Difficulty U pdate Algorithm,

Gas and Fees, and Virtual Machine.

Programming in Solidity

Solidity, a programming language, is used to develop smart contracts. On

the Ethereum blockchain, it is an obj ect-oriented programming language

used for developing dApps. The code of solidity is encapsulated in

contracts. Residing at a specific address on the Ethereum blockchain, a

contract is a collection of code (the member functions) and data (the data

members). To execute code with EVM on the blockchain with a smart

contract is allowed. For all our proj ects, the business logic of our

application lives with all its variables and functions belonging to a contract,

and this will be the starting point. To write smart contracts, Solidity is used

as a programming language that compiles to EVM bytecode through its

compiler Solc. To write Solidity smart contracts, deploy them and run them,

you can use an online tool, Remix. We start writing the code for our smart

contract

by

visiting

from

our

browser

the

page

at

https://remix.ethereum.org.

Integrated Development Environment of ReMix